package ru.susu.algebra.chartable;

import java.util.HashMap;

import ru.susu.algebra.pair.Pair;

/**
 * Писалось для разреженных матриц, но по быстродействию не особо проигрывает массиву.
 *
 * @author akargapolov
 * @since: 03.03.2009
 */
public class PermGroupMapBasedCharTable<V> extends PermGroupCharTableBase<V>
{
	private HashMap<Pair<Integer, Integer>, V> _data;

	public PermGroupMapBasedCharTable()
	{
		_data = new HashMap<Pair<Integer, Integer>, V>();
	}

	@Override
	public V getCharacter(int row, int col)
	{
		Pair<Integer, Integer> pair = new Pair<Integer, Integer>(Integer.valueOf(row), Integer.valueOf(col));
		return _data.get(pair);
	}

	@Override
	public void setCharacter(int row, int col, V value)
	{
		Pair<Integer, Integer> pair = new Pair<Integer, Integer>(Integer.valueOf(row), Integer.valueOf(col));
		_data.put(pair,value);
	}

}
